{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Pooling Layer"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## What are pooling layers?\n",
    "\n",
    "A pooling layer generates an output from a 'pool', such as a $ 2 \\times 2 $ block, usually by selecting from that block. For example, commonly used pooling layers include max-pooling, which retains the maximum of every $ 2 \\times 2 $ block. But there are also some fewer used layers like average pooling, which takes an weighted average from the block (acts a lot like a convolution layer)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## When to use pooling layers?\n",
    "\n",
    "Use pooling layers when you want to drastically reduce the input size. For example, $ 2 \\times 2 $ blocks reduce the height and the width by 2 times. \n",
    "Pooling layers also have the meaning of 'focusing on the best part'. When you're using a pooling layer, you usually don't care about individual points in the input, but whether there's something special in one region of the input."
   ]
  }
 ],
 "metadata": {
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": 3
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
